Supported targets include the default, check, torture, clean and more-clean.
clean:
rm -f $(OBJS) gpsbabel gpsbabel.exe
if [ -f gui/Makefile ]; then $(MAKE) -C gui clean; fi
- ./test-all -W
+ $(srcdir)/test-all -W
configure: configure.in
autoconf
svn copy https://gpsbabel.googlecode.com/svn/trunk/ https://gpsbabel.googlecode.com/svn/tags/gpsbabel_@GBMAJOR@_@GBMINOR@_@GBMICRO@@PACKAGE_RELEASE@
more-clean: clean
- tools/mkmoreclean
+ $(srcdir)/tools/mkmoreclean
check:
- ./testo
+ $(srcdir)/testo
torture:
@echo "testo in progress... (basic data integrity test)"
- @./testo
+ @$(srcdir)/testo
@echo "vtesto in progress... (valgrind is watching testo)"
- @./vtesto
+ @$(srcdir)/vtesto
@echo "torture_test in progress... (shortname reduction)"
- @./torture_test
+ @$(srcdir)/torture_test
#
# Because there are some "non-real" errors like "IGC: bad date"
# test-all does not stop on errors.
# faults, math overflows and other hard errors
#
@echo "test-all in progress... (read/write test between all possible formats)"
- @./test-all -s -r reference/expertgps.gpx -t
+ @$(srcdir)/test-all -s -r $(srcdir)/reference/expertgps.gpx -t
#
# This will only work on UNIX-like substances.
dep:
make clean && make EXTRA_CFLAGS="-isystem /sw/include -MMD" && cat $(sort $(DEPFILES)) > /tmp/dep && rm $(DEPFILES)
- echo "internal_styles.c: mkstyle.sh style/*.style" >> /tmp/dep
- echo " @srcdir@/mkstyle.sh > internal_styles.c || (rm -f internal_styles.c ; exit 1)" >> /tmp/dep
+ echo 'internal_styles.c: mkstyle.sh $$(srcdir)/style/*.style' >> /tmp/dep
+ echo ' $$(srcdir)/mkstyle.sh > internal_styles.c || (rm -f internal_styles.c ; exit 1)' >> /tmp/dep
echo Edit Makefile.in and bring in /tmp/dep
$(WEB)/htmldoc-$(DOCVERSION)/index.html: FORCE
zlib/zconf.h zlib/trees.h
zlib/uncompr.o: zlib/uncompr.c zlib/zlib.h zlib/zconf.h
zlib/zutil.o: zlib/zutil.c zlib/zutil.h zlib/zlib.h zlib/zconf.h
-internal_styles.c: mkstyle.sh style/*.style
- ./mkstyle.sh > internal_styles.c || (rm -f internal_styles.c ; exit 1)
+internal_styles.c: mkstyle.sh $(srcdir)/style/*.style
+ $(srcdir)/mkstyle.sh > internal_styles.c || (rm -f internal_styles.c ; exit 1)
### cross format read/(write) test ###
PNAME=${PNAME:-./gpsbabel}
-REFGPX="reference/expertgps.gpx" # reference file for all tests
+BASEPATH=`dirname $0`
+REFGPX="${BASEPATH}/reference/expertgps.gpx" # reference file for all tests
EXCL="exif ozi vitosmt xol navigonwpt gopal" # exclude formats from test
CAPS=""
TEMPDIR=${GBTEMP:-/tmp}/gb-test-all
then
while [ $# -ge 1 ];
do
- t=testo.d/$1.test
+ t=${BASEPATH}/testo.d/$1.test
echo Running $t
. $t
shift;
exit $errorcount
fi
-for i in testo.d/*.test
+for i in ${BASEPATH}/testo.d/*.test
do
echo Running $i
. $i
#
# CSV (Comma separated value) data.
-gpsbabel -i geo -f ${REFERENCE}/../geocaching.loc -o csv -F ${TMPDIR}/csv.csv
-gpsbabel -i csv -f ${TMPDIR}/csv.csv -o csv -F ${TMPDIR}/csv2.csv
+gpsbabel -i geo -f ${REFERENCE}/../geocaching.loc -o csv -F ${TMPDIR}/csv.csv
+gpsbabel -i csv -f ${TMPDIR}/csv.csv -o csv -F ${TMPDIR}/csv2.csv
compare ${TMPDIR}/csv2.csv ${TMPDIR}/csv.csv
# And the alternate command line version.
-gpsbabel -i csv -o gpx ${TMPDIR}/csv.csv ${TMPDIR}/csv3.gpx
-gpsbabel -i gpx -o csv ${TMPDIR}/csv3.gpx ${TMPDIR}/csv4.csv
+gpsbabel -i csv -o gpx ${TMPDIR}/csv.csv ${TMPDIR}/csv3.gpx
+gpsbabel -i gpx -o csv ${TMPDIR}/csv3.gpx ${TMPDIR}/csv4.csv
compare ${TMPDIR}/csv.csv ${TMPDIR}/csv4.csv
#
#
# Fugawi test cases
rm -f ${TMPDIR}/fugawi*
-gpsbabel -i fugawi -f ${REFERENCE}/fugawi.notime.txt -o fugawi -F ${TMPDIR}/fugawi1.txt
+gpsbabel -i fugawi -f ${REFERENCE}/fugawi.notime.txt -o fugawi -F ${TMPDIR}/fugawi1.txt
compare ${REFERENCE}/fugawi.ref.txt ${TMPDIR}/fugawi1.txt
-gpsbabel -i geo -f ${REFERENCE}/../geocaching.loc -o fugawi -F ${TMPDIR}/fugawi2.txt
+gpsbabel -i geo -f ${REFERENCE}/../geocaching.loc -o fugawi -F ${TMPDIR}/fugawi2.txt
compare ${REFERENCE}/fugawi.ref.txt ${TMPDIR}/fugawi2.txt
-gpsbabel -i fugawi -f ${TMPDIR}/fugawi2.txt -o fugawi -F ${TMPDIR}/fugawi3.txt
+gpsbabel -i fugawi -f ${TMPDIR}/fugawi2.txt -o fugawi -F ${TMPDIR}/fugawi3.txt
compare ${TMPDIR}/fugawi2.txt ${TMPDIR}/fugawi3.txt
-gpsbabel -i fugawi -f ${REFERENCE}/fugawi.time.txt -o fugawi -F ${TMPDIR}/fugawi4.txt
+gpsbabel -i fugawi -f ${REFERENCE}/fugawi.time.txt -o fugawi -F ${TMPDIR}/fugawi4.txt
compare ${REFERENCE}/fugawi.time.ref.txt ${TMPDIR}/fugawi4.txt
gpsbabel -i gpx -f ${REFERENCE}/track/tracks.gpx -o fugawi -F ${TMPDIR}/fugawi5.txt
compare ${REFERENCE}/track/fugawi.txt ${TMPDIR}/fugawi5.txt
compare ${TMPDIR}/${GoPalName}.tst2 ${TMPDIR}/${GoPalName}.tst3
# Gopal with 11 fields is slightly more sane.
-gpsbabel -i gopal -f reference/gopal-11.trk -o gpx -F ${TMPDIR}/gopal-11-gpx.gpx
-compare ${TMPDIR}/gopal-11-gpx.gpx reference/gopal-11-gpx.gpx
+gpsbabel -i gopal -f ${REFERENCE}/gopal-11.trk -o gpx -F ${TMPDIR}/gopal-11-gpx.gpx
+compare ${TMPDIR}/gopal-11-gpx.gpx ${REFERENCE}/gopal-11-gpx.gpx
#
# Height filter
# verify that one such files converts sensibly to GPX.
gpsbabel -i igo8 -f ${REFERENCE}/track/igo8_padded.trk -o gpx -F ${TMPDIR}/igo8_padded.gpx
-compare reference/track/igo8_padded~gpx.gpx ${TMPDIR}/igo8_padded.gpx
+compare ${REFERENCE}/track/igo8_padded~gpx.gpx ${TMPDIR}/igo8_padded.gpx
case $f in
# Argue with the KML wizards about this. It was the intent for that
# to be legal in Earth GX 2.2.
- ./reference/track/segmented_tracks-track.kml) continue;;
+ ${REFERENCE}/track/segmented_tracks-track.kml) continue;;
*)
tmpf=${TMPDIR}/$(basename $f)
gpsbabel -i kml -f $f -o kml -F $tmpf
- xmllint --schema tools/kml22-schema/kml22gx.xsd --noout $tmpf
+ xmllint --schema ${BASEPATH}/tools/kml22-schema/kml22gx.xsd --noout $tmpf
esac;
done
else
# from time to time.
#
-PNAME="valgrind -q ./gpsbabel" ./testo
+BASEPATH=`dirname $0`
+PNAME="valgrind -q ./gpsbabel" ${BASEPATH}/testo